package com.ce.pms.system.occupation.model;

// Generated 2008-12-24 13:41:51 by Hibernate Tools 3.2.0.b9

import java.math.BigDecimal;

import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.ce.pms.charge.model.BusinessCodeDomain;
import com.ce.pms.common.model.SysInfo;
import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称: 入伙缴费设置 关联数据表:OM_OCCUPATION_CHARGE_ITEM_CONFIG
 *
 * @author yandawei
 * @CreateDate:2008-12-24
 */
@Entity
@Table(name = "OM_OCCUPATION_CHARGE_ITEM_CONFIG")
public class OccupationChargeItemConfigDO implements IDomainObject {

	/**
	 * 主键
	 */
	@Id
	@GeneratedValue
	@Column(name = "OCCUPATION_CHARGE_ITEM_CONFIG_ID", unique = true, nullable = false)
	private Long keyword;

	/**
	 * 物业预交款交易码
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "BIZ_CODE_ID")
	private BusinessCodeDomain businessCode;

	/**
	 * 描述
	 */
	@Column(name = "DESCRIPTION", length = 200)
	private String description;

	/**
	 * 收费项目名称
	 */
	@Column(name = "PAY_ITEM_NAME", nullable = false, length = 100)
	private String payItemName;

	/**
	 * 计费模式 001 按固定金额计费 002 按建筑面积计费
	 */
	@Column(name = "PAY_MODE", length = 3)
	private String payMode;

	/**
	 * 计费金额
	 */
	@Column(name = "PAY_MONEY", precision = 18, scale = 2)
	private BigDecimal payMoney = new BigDecimal(0.00);

	/**
	 * 收费是否跟进 1 ：跟进收费 0：不跟进收费
	 */
	@Column(name = "PAY_TRANSFER_YN", length = 1)
	private String payTransferYn;

	/**
	 * 是否按月缴费 1:按月缴费 0:不按月缴费
	 */
	@Column(name = "MONTH_PAY_YN", length = 1)
	private String monthPayYn;

	/**
	 * 交费月份数
	 */
	@Column(name = "PAY_MONTH_COUNT")
	private Short payMonthCount;

	/**
	 * 停用标记 1 ：使用0 ：停用
	 */
	@Column(name = "STOPYN", nullable = false, length = 1)
	private String stopYn;

	/**
	 * 系统信息
	 *
	 */
	@Embedded
	@AttributeOverride(name = "sysDate", column = @Column(name = "SYS_DATE"))
	private SysInfo sysInfo;

	public OccupationChargeItemConfigDO() {
	}

	public OccupationChargeItemConfigDO(Long keyword) {
		this.keyword = keyword;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getPayItemName() {
		return this.payItemName;
	}

	public void setPayItemName(String payItemName) {
		this.payItemName = payItemName;
	}

	public String getStopYn() {
		return stopYn;
	}

	public void setStopYn(String stopYn) {
		this.stopYn = stopYn;
	}

	public String getPayMode() {
		return this.payMode;
	}

	public void setPayMode(String payMode) {
		this.payMode = payMode;
	}

	public BigDecimal getPayMoney() {
		return this.payMoney;
	}

	public void setPayMoney(BigDecimal payMoney) {
		this.payMoney = payMoney;
	}

	public String getPayTransferYn() {
		return this.payTransferYn;
	}

	public void setPayTransferYn(String payTransferYn) {
		this.payTransferYn = payTransferYn;
	}

	public String getMonthPayYn() {
		return this.monthPayYn;
	}

	public void setMonthPayYn(String monthPayYn) {
		this.monthPayYn = monthPayYn;
	}

	public Short getPayMonthCount() {
		return this.payMonthCount;
	}

	public void setPayMonthCount(Short payMonthCount) {
		this.payMonthCount = payMonthCount;
	}

	public BusinessCodeDomain getBusinessCode() {
		return businessCode;
	}

	public void setBusinessCode(BusinessCodeDomain businessCode) {
		this.businessCode = businessCode;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public SysInfo getSysInfo() {
		return sysInfo;
	}

	public void setSysInfo(SysInfo sysInfo) {
		this.sysInfo = sysInfo;
	}

}
